/**
 * @(#)UserCateringSchemeManager.java
 *
 * Copyright (c) 2014-2014  苏州犀牛网络科技有限公司 版权所有
 * xiniunet. All rights reserved.
 *
 * This software is the confidential and proprietary
 * information of  xiniunet.
 * ("Confidential Information"). You shall not disclose
 * such Confidential Information and shall use it only
 * in accordance with the terms of the contract agreement
 * you entered into with xiniunet.
 */
package com.showcal.platform.biz;

import com.showcal.platform.request.*;
import com.showcal.platform.response.*;
import com.xiniunet.framework.security.Passport;

/**
 * Created by 顾志雄 on 2015-11-03 11:23:10.
 * @author 顾志雄
 */
public interface UserCateringSchemeManager {
    /**
     * 根据Id获取用户餐饮方案表
     *
     * @param request 获取用户餐饮方案表请求
     * @param passport 用户护照
     * @return 获取用户餐饮方案表应答
     */
    UserCateringSchemeGetResponse get(UserCateringSchemeGetRequest request, Passport passport);


    /**
     * 模糊查询用户餐饮方案表
     *
     * @param request 模糊查询用户餐饮方案表请求
     * @param passport 用户护照
     * @return 模糊查询用户餐饮方案表应答
     */
    UserCateringSchemeSearchResponse search(UserCateringSchemeSearchRequest request, Passport passport);

    /**
     * 高级查询用户餐饮方案表
     *
     * @param request 高级查询用户餐饮方案表请求
     * @param passport 用户护照
     * @return 高级查询应答
     */
    UserCateringSchemeFindResponse find(UserCateringSchemeFindRequest request, Passport passport);

    /**
     * 获取所有用户餐饮方案表列表
     *
     * @param request 获取所有用户餐饮方案表列表请求
     * @param passport 用户护照
     * @return 获取所有用户餐饮方案表列表应答
     */
    UserCateringSchemeGetAllListResponse getAllList(UserCateringSchemeGetAllListRequest request, Passport passport);


    /**
     * 创建用户餐饮方案表
     *
     * @param request 创建用户餐饮方案表请求
     * @param passport 用户护照
     * @return 创建用户餐饮方案表应答
     */
    UserCateringSchemeCreateResponse create(UserCateringSchemeCreateRequest request, Passport passport);


    /**
     * 更新用户餐饮方案表
     *
     * @param request 更新用户餐饮方案表请求
     * @param passport 用户护照
     * @return 更新用户餐饮方案表应答
     */
    UserCateringSchemeUpdateResponse update(UserCateringSchemeUpdateRequest request, Passport passport);


    /**
     * 删除用户餐饮方案表
     *
     * @param request 删除用户餐饮方案表请求
     * @param passport 用户护照
     * @return 删除用户餐饮方案表应答
     */
    UserCateringSchemeDeleteResponse delete(UserCateringSchemeDeleteRequest request, Passport passport);

    


    /**
     * 导入用户餐饮方案表
     *
     * @param request 导入用户餐饮方案表请求
     * @param passport 用户护照
     * @return 导入用户餐饮方案表应答
     */
    UserCateringSchemeListImportResponse importList(UserCateringSchemeListImportRequest request, Passport passport);

    /**
     * 通过用户ID获取健康方案
     * @param request
     * @param passport
     * @return
     */
    UserCateringSchemeGetResponse getByUserId(UserCateringSchemeGetRequest request, Passport passport);
}
